/**
 * 路线制定信息业务逻辑处理接口类
 * @author zqd	差旅小组
 *
 * 上午10:07:57
 */
package com.cbts.service.travel;

import java.util.Date;
import java.util.List;

import com.cbts.entity.BusinessTravel;
import com.cbts.entity.BusinessTravelList;
import com.cbts.util.Page;

public interface RoutesetService {
	
	/**
	 * 10-9更新，新增始末时间，总数为每个sum的总和
	 * 提交路线,并生成BusinessTravelList
	 * @param btlist BusinessTravel的list
	 * @param userid 员工id
	 * @param standardId 差旅标准id
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 * @return
	 */
	public boolean submitRoute(List<BusinessTravel> btlist,String userid,int standardId,Date startTime,Date endTime);
	
	/**
	 * 修改路线,并修改BusinessTravelList,将verifierState改为待审核
	 * @param btlist BusinessTravel的list
	 * @param travelOrder 出差单号
	 * @param userid 员工id
	 * @param standardId 差旅标准id
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 * @return
	 */
	public boolean alterRoute(List<BusinessTravel> btlist,String travelOrder,String userid,int standardId,Date startTime,Date endTime);
	
	/**
	 * 查找传入travelorder的所有BusinessTravel,即该出差列表的所有出差信息
	 * @param travelorder 出差单号
	 * @param userid 员工id
	 * @return 
	 */
	public Page<BusinessTravel> getBusinessTravelInfo(String travelorder,String userid);
	
	/**
	 * 获得该员工所有的BusinessTravelList
	 * @param userid 员工id	
	 * @return
	 */
	public Page<BusinessTravelList> getPendingBusinessTravelList(String userid);
	
	/**
	 * 获得该员工该travelorder的BusinessTravelList
	 * @param travelorder
	 * @param userid
	 * @return
	 */
	public BusinessTravelList getBusinessTravelListByOrder(String travelorder,String userid);
	
	/**
	 * 通过infoId查找 businessTravel
	 * @param infoId
	 * @return
	 */
	public BusinessTravel getBusinessTravelById(int infoId);
	
	/**
	 * 从外部获得路线数据
	 * @param url 请求url
	 * @param postString 请求字符串
	 * @return
	 */
	public String accessUrl(String url,String postString);
}
